import Root from "./textarea.svelte"

type FormTextareaEvent<T extends Event = Event> = T & {
  currentTarget: EventTarget & HTMLTextAreaElement
}

type TextareaEvents = {
  blur: FormTextareaEvent<FocusEvent>
  change: FormTextareaEvent<Event>
  click: FormTextareaEvent<MouseEvent>
  focus: FormTextareaEvent<FocusEvent>
  keydown: FormTextareaEvent<KeyboardEvent>
  keypress: FormTextareaEvent<KeyboardEvent>
  keyup: FormTextareaEvent<KeyboardEvent>
  mouseover: FormTextareaEvent<MouseEvent>
  mouseenter: FormTextareaEvent<MouseEvent>
  mouseleave: FormTextareaEvent<MouseEvent>
  paste: FormTextareaEvent<ClipboardEvent>
  input: FormTextareaEvent<InputEvent>
}

export {
  Root,
  //
  Root as Textarea,
  type TextareaEvents,
  type FormTextareaEvent,
}
